package com.alibaba.springbootrbac.mapper;

import com.alibaba.springbootrbac.model.entity.RolePermission;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ZhouYaDong
 * @date 2025/8/23
 * @description 角色权限mapper
 */
public interface RolePermissionMapper extends BaseMapper<RolePermission> {

    /**
     * 删除角色的权限（单条）
     */
    int deleteByRoleIdAndPermissionId(@Param("roleId") String roleId, @Param("permissionId") String permissionId);

    /**
     * 批量删除角色的权限
     */
    int deleteByRoleId(@Param("roleId") String roleId);


    /**
     * 批量删除角色的权限
     */
    int deleteRolePermissionsBatch(@Param("roleId") String roleId,
                                   @Param("permissionIds") List<String> permissionIds);

    /**
     * 批量插入角色权限
     */
    int insertRolePermissions(@Param("roleId") String roleId, @Param("permissionIds") List<String> permissionIds);

    /**
     * 更新角色的权限
     */
    int updateRolePermissions(@Param("roleId") String roleId, @Param("permissionIds") List<String> permissionIds);

}
